In a logically-partitioned computer system that uses a non-virtualized input/output (I/O) adapter, an address translation table may be allocated and assigned to an IO adapter or to a logical partition. An operating system and applications executing in the logical partition may use the address translation table to enable the non-virtualized IO adapter to perform input/output operations to the memory of the logical partition.
In a computer system that uses a virtualized I/O adapter, the virtualized I/O adapter may provide multiple virtual I/O adapters to multiple logical partitions to enable the multiple logical partitions to access the virtual functions. An address translation table that is designed for use with a non-virtualized hardware I/O adapter may be unsuitable for use with a virtualized I/O adapter. Virtualized I/O adapters may be implemented in many different ways, such as a single root input/output virtualized (SR-IOV) adapter, a multi root I/O virtualized (MR-IOV) adapter, another type of adapter that may be virtualized by a software virtualization intermediary in a hypervisor or virtual I/O hosting operating system (OS) logical partition, or any combination thereof.